﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BUSService;
using DTOService;

namespace QuanLyBangDia
{
    public partial class frmQuanLyLoaiSanPham : Form
    {
        MyService myService = new MyService();

        public frmQuanLyLoaiSanPham()
        {
            this.Icon = QuanLyBangDia.Properties.Resources.HDD;
            InitializeComponent();
            gv.Columns.Add("MaLSP", "Mã Loại Sản Phẩm");
            gv.Columns.Add("TenLSP", "Tên Loại Sản Phẩm");
            gv.Columns.Add("PhiChothue", "Phí Cho Thuê");
        }

        private void frmQuanLyLoaiSanPham_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.DialogResult = DialogResult.OK;
        }

        private void gv_SelectionChanged(object sender, EventArgs e)
        {
            try
            {
                DataGridViewRow currRow = gv.CurrentRow;
                txtLoaiSanPham.Text = currRow.Cells[0].Value.ToString();
                txtTenLoaiSanPham.Text = currRow.Cells[1].Value.ToString();
                txtPhiChoThue.Text = currRow.Cells[2].Value.ToString();
            }
            catch
            {
            }
        }

        private void frmQuanLyLoaiSanPham_Load(object sender, EventArgs e)
        {
            LoaiSanPham[] ls = myService.SelectLoaiSanPham();
            object[] temp;
            foreach (LoaiSanPham t in ls)
            {
                temp = new object[] { t.MaLoaiSanPham, t.TenLoaiSanPham,t.PhichoThue };
                gv.Rows.Add(temp);
            }
            gv.Show();
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            if (txtTenLoaiSanPham.Text == "")
            {
                MessageBox.Show("Nhập tên loại sản phẩm !", "Thông báo");
                txtTenLoaiSanPham.Focus();
                return;
            }
            if (txtPhiChoThue.Text == "")
            {
                MessageBox.Show("Nhập phí cho thuê loại sản phẩm !", "Thông báo");
                txtPhiChoThue.Focus();
                return;
            }
            LoaiSanPham temp = new LoaiSanPham();
            temp.TenLoaiSanPham = txtTenLoaiSanPham.Text;
            temp.PhichoThue = float.Parse(txtPhiChoThue.Text);
            int id = myService.InsertLoaiSanPham(temp);
            if (id > 0)
            {
                MessageBox.Show("Thêm thành công !", "Thông báo");
                object[] t = new object[] { id, temp.TenLoaiSanPham, temp.PhichoThue };
                gv.Rows.Add(t);
            }
            else
                MessageBox.Show("Thêm thất bại !", "Thông báo");

        }

        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            if (txtTenLoaiSanPham.Text == "")
            {
                MessageBox.Show("Nhập tên loại sản phẩm !", "Thông báo");
                txtTenLoaiSanPham.Focus();
                return;
            }
            if (txtPhiChoThue.Text == "")
            {
                MessageBox.Show("Nhập phí cho thuê loại sản phẩm !", "Thông báo");
                txtPhiChoThue.Focus();
                return;
            }
            LoaiSanPham parr = new LoaiSanPham();
            parr.MaLoaiSanPham = int.Parse(txtLoaiSanPham.Text);
            parr.TenLoaiSanPham = txtTenLoaiSanPham.Text;
            parr.PhichoThue = float.Parse(txtPhiChoThue.Text);
            if (myService.UpdateLoaiSanPham(parr) > 0)
            {
                gv.Rows.Clear();
                frmQuanLyLoaiSanPham_Load(sender, e);
                MessageBox.Show("Cập Nhật thành công !", "Thông Báo");
            }
            else
                MessageBox.Show("Cập nhật thất bại !", "Thông Báo");
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult diag = MessageBox.Show("Bạn có chắc chắn muốn xóa loại sản phẩm này không ?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                if (diag == DialogResult.Yes)
                {
                    DataGridViewRow currRow = gv.CurrentRow;
                    LoaiSanPham parr = new LoaiSanPham();
                    parr.MaLoaiSanPham = int.Parse(currRow.Cells[0].Value.ToString());
                    if (myService.DeleteLoaiSanPham(parr) > 0)
                    {
                        gv.Rows.Remove(gv.CurrentRow);
                        gv.Show();
                        MessageBox.Show("Xóa thành công !", "Thông Báo");
                    }
                    else
                        MessageBox.Show("Xóa thất bại !", "Thông Báo");
                }
            }
            catch
            {
            }
        }

        private void txtPhiChoThue_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
                e.Handled = true;
        }

    }
}
